//
//  SinaStatusModel.swift
//  WeiBo
//
//  Created by Apple on 16/1/4.
//  Copyright © 2016年 itcast. All rights reserved.
//

import UIKit

class SinaStatusModel: NSObject {

    /// created_at	string	微博创建时间
    var created_at: String?
    ///id	int64	微博ID
    var id: Int = 0
    ///text	string	微博信息内容
    var text: String?
    ///source	string	微博来源
    var source: String?
    //微博作者的用户信息字段 
    var user: SinaUserModel?
    
    ///reposts_count	int	转发数
    var reposts_count: Int = 0
    ///comments_count	int	评论数
    var comments_count: Int = 0
    ///attitudes_count	int	表态数
    var attitudes_count: Int = 0
    
    ///retweeted_status	object	被转发的原微博信息字段，当该微博为转发微博时返回
    // 如果 retweeted_status 字段有值, 就是转发微博,
    // 如果 retweeted_status 字段没有值, 就是原创微博
    var retweeted_status:SinaStatusModel?
    
    /// 配图的模型
    var pic_urls: [SinaPictureModel]?
    
    init(dic: [String: AnyObject]) {
        
        super.init()
        
        
        setValuesForKeysWithDictionary(dic)
        
        // userDic 是 有一个 AnyObject 需要强制换成字典
        // 通过 dic里的 user key 来获取 user的相关字典
        // 然后我们拿到字典,进行字典转模型
        if let userDic = dic["user"] as? [String: AnyObject]{

            // 获取到 字典之后进行字典转模型
            user = SinaUserModel(dic: userDic)
            
        }
        //读取转发微博的信息
        if let retweetDic = dic["retweeted_status"] as? [String: AnyObject] {
            
            retweeted_status = SinaStatusModel(dic: retweetDic)
        }
        
        //
        if let pics = dic["pic_urls"] as? [[String: AnyObject]] {
            
            //给数组初始化
            pic_urls = [SinaPictureModel]()
            //遍历
            for pic in pics {
                
                let picModel = SinaPictureModel(dic: pic)
                
                pic_urls?.append(picModel)
            }
        }
        
    }
    
    //确保不崩溃
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {

    }
    
}
